// components/my-login/my-login.js
import {request as axios} from '../../util/request/request'
const CartBehavior = require('../../behavior/cart');
Component({
    behaviors:[CartBehavior],

    /**
     * 组件的属性列表
     */
    properties: {

    },

    /**
     * 组件的初始数据
     */
    data: {
    },
    pageLifetimes:{
        show(){
           
        }
    },
    /**
     * 组件的方法列表
     */
    methods: {
        login(){
            wx.getUserProfile({
                desc: '用于获取用户基础信息',
                success: (e) => {
                   this.updateUser(e.userInfo)
                  this.getToken(e)
                },
                fail: (e) => {
                    wx.showToast({
                        title: '获取信息失败',
                        icon:"error"
                      })
                }
              })
        },
        getToken(info){
            // 调用微信登录接口
          wx.login().then(async  res=>{
              // 准备参数对象
        const query = {
            code: res.code,
            encryptedData: info.encryptedData,
            iv: info.iv,
            rawData: info.rawData,
            signature: info.signature
          }
          console.log(query);
          // 换取 token
          const { data: loginResult } = await axios('POST','/users/wxlogin', query)
          console.log(loginResult);
          if (loginResult.meta.status !== 400) return wx.showToast({
            title: '登录失败',
          })
          wx.showToast({
            title: '登录成功',
            icon: 'success',
          })
          // 使用假数据
          let resToken =
            'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1aWQiOjIzLCJpYXQiOjE1NjQ3MzAwNzksImV4cCI6MTAwMTU2NDczMDA3OH0.YPt-XeLnjV-_1ITaXGY2FhxmCe4NvXuRnRB8OMCfnPo'
            this.updateToken(resToken)
            this.navigateBack()
          }).catch(err => {
              console.log(err);
              if(err){
                wx.showToast({
                    title: '登陆失败',
                    icon:"error"
                  })
              }
          
          })
        },
        // 返回跳转前的页面
        navigateBack() {
        // redirectInfo 不为 null，并且导航方式为 switchTab
        if (this.data.redirectInfo && this.data.redirectInfo.openType === 'switchTab') {
          // 调用小程序提供的 uni.switchTab() API 进行页面的导航
          wx.switchTab({
            // 要导航到的页面地址
            url: this.data.redirectInfo.from,
            // 导航成功之后，把 vuex 中的 redirectInfo 对象重置为 null
            complete: () => {
              this.updateRedirectInfo(null)
            }
          })
        }
      },
    }
})
